package com.hzit.payweb.factory;

import com.hzit.payweb.service.IPayStrategy;
import com.hzit.payweb.service.impl.AlpayPrePayStrategyImpl;
import com.hzit.payweb.service.impl.AlpayWapPayStrategyImpl;
import org.springframework.stereotype.Component;

import java.util.concurrent.ConcurrentHashMap;

/**
 * 支付工厂- 生成对应支付实现
 */
@Component
public class PayFactory {

    /**
     * 存放的就是 new 好对象 =  容器启动的时候放进的 支付策略的实现类
     */
    public static ConcurrentHashMap<String,IPayStrategy> map = new ConcurrentHashMap<String,IPayStrategy>();

    /**
     * 根据传支付方式，生成支付策略的实现对象
     * @param payWay
     * @return
     */
    public IPayStrategy getPayStrategy(String payWay){
//
//        if("二维码支付" .equals("")){
//            IPayStrategy iPayStrategy = new AlpayPrePayStrategyImpl();
//            return  iPayStrategy;
//
//        } else("wap支付".equals("")){
//            IPayStrategy iPayStrategy = new AlpayWapPayStrategyImpl();
//            return  iPayStrategy;
//
//        }

        return map.get(payWay);
    }
}
